\begin{block}{{\bf \clang{Ideia geral}{Principle}}}
\begin{itemize}
  \item \clang{Partilhar o mesmo result set usando um \emph{wrapper} que controla o acesso concorrente.}{Share the same result set object using a \emph{wrapper} that controls the concurrent access.}
  \item \clang{Cada wrapper guarda a linha em que o thread está a trabalhar.}{Each wrapper stores the line which the thread is working on.}
  \item \clang{Quando um wrapper ganha acesso, move o result set para a sua linha.}{When a wrapper gains access, it moves the result set to its own line.} 
\end{itemize}

\begin{center}
\includegraphics[width=5cm]{../images/model/sol-wjdbc-overview}
\end{center}

\end{block}

\mypause

\begin{block}{{\bf \clang{Desvantagem}{Disadvantage}}}
\begin{itemize}
  \item \clang{Lock num nível mais alto pode diminuir a quantidade de código que pode executar concorrentemente.}{Locking at a higher level could reduce the amount of concurrent code.} 
\end{itemize}
\end{block}
